<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="utf-8">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta http-equiv="Content-Style-Type" content="text/css">
  <script src='../bbs.js'></script>

  <!-- Global site tag (gtag.js) - Google Analytics -->
  <script async src="https://www.googletagmanager.com/gtag/js?id=UA-120820034-1"></script>

  <link href="../bbs.css" type="text/css" rel="stylesheet">
  <link rel="shortcut icon" href="/favicon.ico">
  <title>マクロからアウトプットウインドウへ出力 | サクラエディタ過去ログ</title>
</head>
<body>
<ul class="side">
        <a href="./" class="toindex">◀ANSI版開発トップへ</a>
        <li><div class="list-title">
    <span class="no">4433</span>
    <a class="thread-title" href="4433.html#4433">マクロからアウトプットウインドウへ出力</a></div>
    <ul><li><div class="list-title">
    <span class="no">4434</span>
    <a class="thread-title" href="4433.html#4434">RE: マクロからアウトプットウインドウへ出力</a></div>
    <ul><li><div class="list-title">
    <span class="no">4437</span>
    <a class="thread-title" href="4433.html#4437">Re2: マクロからアウトプットウインドウへ出力</a></div>
    <ul><li><div class="list-title">
    <span class="no">4438</span>
    <a class="thread-title" href="4433.html#4438">Re3: マクロからアウトプットウインドウへ出力</a></div>
    <ul><li><div class="list-title">
    <span class="no">4441</span>
    <a class="thread-title" href="4433.html#4441">Re4: マクロからアウトプットウインドウへ出力</a></div>
    <ul><li><div class="list-title">
    <span class="no">4442</span>
    <a class="thread-title" href="4433.html#4442">Re5: マクロからアウトプットウインドウへ出力</a></div>
    <ul><li><div class="list-title">
    <span class="no">4446</span>
    <a class="thread-title" href="4433.html#4446">Re6: マクロからアウトプットウインドウへ出力</a></div>
    <ul><li><div class="list-title">
    <span class="no">4448</span>
    <a class="thread-title" href="4433.html#4448">Re7: マクロからアウトプットウインドウへ出力</a></div>
    <ul><li><div class="list-title">
    <span class="no">4455</span>
    <a class="thread-title" href="4433.html#4455">Re8: マクロからアウトプットウインドウへ出力</a></div>
    <ul><li><div class="list-title">
    <span class="no">4499</span>
    <a class="thread-title" href="4433.html#4499">Re9: マクロからアウトプットウインドウへ出力</a></div>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li>
    </ul><ul class="main"><li><section><h1 id=4433>
    <span class="no">[4433]</span>
    <a class="thread-title" href="#4433">マクロからアウトプットウインドウへ出力</a>
    <span class="author">maru</span>
    <time datetime="2006-04-23T14:16:29">2006年04月23日 14:16</time></h1>
    <div class="body">&gt;&gt;data:5188にちょっと関連して<br>マクロから別のウインドウに出力するような機能が<br>時々要望としてあがるので、アウトプットウインドウに出力<br>するマクロ関数を作ってみました。<br>共有フォルダ：Developer/Source/MacroTraceOut.diff<br><br>integer S_TraceOut ( S1 );<br><br>S1： 出力したい文字列<br>戻り値： 出力文字列長</div></section>
    <ul><li><section><h1 id=4434>
    <span class="no">[4434]</span>
    <a class="thread-title" href="#4434">RE: マクロからアウトプットウインドウへ出力</a>
    <span class="author">げんた</span>
    <time datetime="2006-04-24T00:50:28">2006年04月24日 00:50</time></h1>
    <div class="body">PPAとJavaScriptで試しましたが動作は問題ないようですね．<br>▼PPA<br>var<br>&#9;a, i : Integer;<br>begin<br>&#9;a := S_TraceOut( 'TEST of TraceOut' );<br>&#9;for i := 0 to 5 do<br>&#9;begin<br>&#9;&#9;a := a + S_TraceOut( IntToStr( a ) + ' Printed.' );<br>&#9;end;<br>end<br><br>▼JavaScript<br>var a, i;<br>a = Editor.TraceOut( 'TEST of TraceOut (JavaScript)' );<br>for( i = 0; i &lt; 5; i++ ){<br>&#9;a += Editor.TraceOut( a + ' Printed.' );<br>}<br><br>-----<br>気付いたこと<br>*関数型なのでノーマルのマクロでは使えない<br>*PPAでは引数は文字列のみ．数値はIntToStrで変換が必要<br>*JavaScriptでは数値も引数に与えられる<br>*1行出力毎に自動的に復帰改行が入る<br>*返される文字数には復帰改行は含まれない<br><br>ノーマルのマクロでは固定文字列しか与えられずあんまり使用価値が無いので関数として定義することに特に問題はないでしょう．<br>でも，出力文字数を知りたいのはどのようなときでしょうか？<br></div></section>
    <ul><li><section><h1 id=4437>
    <span class="no">[4437]</span>
    <a class="thread-title" href="#4437">Re2: マクロからアウトプットウインドウへ出力</a>
    <span class="author">maru</span>
    <time datetime="2006-04-25T01:13:11">2006年04月25日 01:13</time></h1>
    <div class="body">▼ げんたさん<br>レスありがとうございます。<br>&gt; PPAとJavaScriptで試しましたが動作は問題ないようですね．<br>&gt; 気付いたこと<br>&gt; *関数型なのでノーマルのマクロでは使えない<br>&gt; *PPAでは引数は文字列のみ．数値はIntToStrで変換が必要<br>&gt; *JavaScriptでは数値も引数に与えられる<br>&gt; *1行出力毎に自動的に復帰改行が入る<br>&gt; *返される文字数には復帰改行は含まれない<br>いつもお手数おかけいたします。<br><br>&gt; でも，出力文字数を知りたいのはどのようなときでしょうか？<br>えっと、CMacro::HandleFunctionのコメントに<br>*値を返す関数を処理する<br>と書いてあったので、何か値を返すべきかと思って無理やり…。<br>特に意味はありません。</div></section>
    <ul><li><section><h1 id=4438>
    <span class="no">[4438]</span>
    <a class="thread-title" href="#4438">Re3: マクロからアウトプットウインドウへ出力</a>
    <span class="author">げんた</span>
    <time datetime="2006-04-25T01:48:17">2006年04月25日 01:48</time></h1>
    <div class="body">&gt;*値を返す関数を処理する<br>&gt;と書いてあったので、何か値を返すべきかと思って無理やり…。<br>なら別に普通の値を返さないタイプのマクロで良かったのでは？<br>ノーマルのマクロでの使い道は無さそうではあるけれどもムリに排除する必要もないかと．<br></div></section>
    <ul><li><section><h1 id=4441>
    <span class="no">[4441]</span>
    <a class="thread-title" href="#4441">Re4: マクロからアウトプットウインドウへ出力</a>
    <span class="author">maru</span>
    <time datetime="2006-04-26T23:50:06">2006年04月26日 23:50</time></h1>
    <div class="body">▼ げんたさん<br>&gt; なら別に普通の値を返さないタイプのマクロで良かったのでは？<br>他に習い値を返さないタイプに直しました。<br>また改行コードを付加しないように変更しました。<br><br>共有フォルダ：/Developer/Source/MacroTraceOut2.diff<br><br>たとえば引数に空文字列を渡されたときは<br>クリップボードの内容(もしくは選択文字列)を出力する<br>ような機能をつければキーマクロからでも<br>使途がありそうですが、今のところは現状で満足です。</div></section>
    <ul><li><section><h1 id=4442>
    <span class="no">[4442]</span>
    <a class="thread-title" href="#4442">Re5: マクロからアウトプットウインドウへ出力</a>
    <span class="author">げんた</span>
    <time datetime="2006-04-29T02:42:13">2006年04月29日 02:42</time></h1>
    <div class="body">細かくてすいませんが<br>&gt;他に習い値を返さないタイプに直しました。<br>コマンドからは使われないので，32768以上の値を割り当てたい...<br><br>&gt;また改行コードを付加しないように変更しました。<br>改行があるのと無いのではどちらが便利なんでしょうか．<br>素のマクロでは改行を特殊文字で与えられないので改行できないと言うのもちょっと気になる．<br>TraceOutに出すのはデバッグ用の文字列で，そうであればその都度勝手に改行してくれた方が便利，というのは浅はかかな？<br>TraceOutとTraceOutlnの両方を用意する案もありますが．<br><br>&gt;たとえば引数に空文字列を渡されたときは<br>&gt;クリップボードの内容(もしくは選択文字列)を出力する<br>これは本当の空文字列と区別が付かなくなるのであまり良い仕様では無いと思います．<br></div></section>
    <ul><li><section><h1 id=4446>
    <span class="no">[4446]</span>
    <a class="thread-title" href="#4446">Re6: マクロからアウトプットウインドウへ出力</a>
    <span class="author">maru</span>
    <time datetime="2006-04-29T17:39:23">2006年04月29日 17:39</time></h1>
    <div class="body">▼ げんたさん<br>&gt; 細かくてすいませんが<br>いえいえ、アドバイスありがとうございます。<br><br>&gt; コマンドからは使われないので，32768以上の値を<br>と思って32802にしましたが、もっと大きな値ですか？<br><br>&gt; 改行があるのと無いのではどちらが便利なんでしょうか．<br>&gt; 素のマクロでは改行を特殊文字で与えられないので<br>「素のマクロ」とは*.ppaの意味ですか？<br>改行を与えられないとは予定外でした。<br>やっぱり勝手に改行が付くようにいたします。<br><br>&gt; &gt;たとえば引数に空文字列を渡されたときは<br>上記に関連して、PPAで改行だけの行を送信するためには<br>空文字列を渡すしかないので、このような仕様は<br>不適切ですね。</div></section>
    <ul><li><section><h1 id=4448>
    <span class="no">[4448]</span>
    <a class="thread-title" href="#4448">Re7: マクロからアウトプットウインドウへ出力</a>
    <span class="author">げんた</span>
    <time datetime="2006-04-29T20:58:39">2006年04月29日 20:58</time></h1>
    <div class="body">&gt;&gt; コマンドからは使われないので，32768以上の値を<br>&gt;と思って32802にしましたが、もっと大きな値ですか？<br>すいません．見間違えました．<br>他のコマンドの隙間に入っているような気がしたんですが，よく見たらコマンドの末尾でしたね．<br><br>&gt;&gt; 素のマクロでは改行を特殊文字で与えられないので<br>&gt;「素のマクロ」とは*.ppaの意味ですか？<br>&gt;改行を与えられないとは予定外でした。<br>&gt;やっぱり勝手に改行が付くようにいたします。<br>素のマクロというのは.mac のことです．素のマクロで使い道があるとすれば外部コマンドを連続して実行した結果をアウトプットに取り込む場合で，コマンドの出力の間に何か区切りを入れたい場合ですかね．<br>エディタに文字を入力する場合は1文字ずつ文字コードで与える方法が用意されているので改行も入れられますが，今回は文字列しか与えられないのでできません．<br><br>ppaでは一応与えることは出来ますが，文字列中で\r\nといった書き方が出来ず，<br>文字列連結として+ #13 + #10 と毎回書かなくてはならなくてちょっと煩雑かなと．<br>(変数に入れればもう少し短くはなりますが．)<br></div></section>
    <ul><li><section><h1 id=4455>
    <span class="no">[4455]</span>
    <a class="thread-title" href="#4455">Re8: マクロからアウトプットウインドウへ出力</a>
    <span class="author">maru</span>
    <time datetime="2006-05-02T12:08:52">2006年05月02日 12:08</time></h1>
    <div class="body">いろいろ考えた末、以下の仕様で作ってみました。<br><br>void TraceOut( S1, i1 );<br><br>S1:出力テキスト<br>i1:次の数値の和。<br>  0x01  ExpandParameterによる文字列展開を行う<br>  0x02  テキスト末尾に改行コードを付加しない<br><br>共有：/Developer/Source/MacroTraceOut3.diff</div></section>
    <ul><li><section><h1 id=4499>
    <span class="no">[4499]</span>
    <a class="thread-title" href="#4499">Re9: マクロからアウトプットウインドウへ出力</a>
    <span class="author">げんた</span>
    <time datetime="2006-07-01T20:36:44">2006年07月01日 20:36</time></h1>
    <div class="body">遅くなりましたが，sakura/trunk#982でCommitしました．<br>Patches #1478468<br></div></section>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></body></html>